// pages/login/login.js
Page({
  data: {
    isLoginMode: true,  // 当前模式
    username: '',
    password: '',
    isLoading: false    // 加载状态
  },

  // 切换模式 (修正后的关键代码)
  switchMode: function(e) {
    const mode = e.currentTarget.dataset.mode
    this.setData({
      isLoginMode: mode === 'login'
    })
  },

  // 用户名输入
  onUsernameInput: function(e) {
    this.setData({ username: e.detail.value })
  },

  // 密码输入
  onPasswordInput: function(e) {
    this.setData({ password: e.detail.value })
  },

  // 注册逻辑
  handleRegister: function() {
    const { username, password } = this.data
    if (!username || username.length < 3) {
      wx.showToast({ title: '用户名至少3位', icon: 'none' })
      return
    }
    if (!password || password.length < 6) {
      wx.showToast({ title: '密码至少6位', icon: 'none' })
      return
    }

    this.setData({ isLoading: true })
    wx.request({
      url: 'http://8.137.20.120/api/user/register',
      method: 'POST',
      data: { username, password },
      success: (res) => {
        if (res.data.status === 'success') {
          wx.showToast({ title: '注册成功' })
          this.setData({ isLoginMode: true }) // 自动切回登录
        } else {
          wx.showToast({ title: res.data.message || '注册失败', icon: 'none' })
        }
      },
      fail: () => {
        wx.showToast({ title: '网络错误', icon: 'none' })
      },
      complete: () => {
        this.setData({ isLoading: false })
      }
    })
  },

  // 登录逻辑
  handleLogin: function() {
    const { username, password } = this.data
    if (!username || !password) {
      wx.showToast({ title: '请输入账号密码', icon: 'none' })
      return
    }

    this.setData({ isLoading: true })
    wx.request({
      url: 'http://8.137.20.120:5000/api/user/login',
      method: 'POST',
      data: { username, password },
      success: (res) => {
        if (res.data.status === 'success') {
          wx.navigateTo({ url: '/pages/zhuye/zhuye' })
        } else {
          wx.showToast({ title: res.data.message || '登录失败', icon: 'none' })
        }
      },
      fail: () => {
        wx.showToast({ title: '网络错误', icon: 'none' })
      },
      complete: () => {
        this.setData({ isLoading: false })
      }
    })
  }
})